package com.jindi.appuser.common;

import java.util.Calendar;
import java.util.Date;

/**
 * Created with IntelliJ IDEA.
 * User: duanj
 * Date: 2017-12-28
 * Time: 18:11
 * Description:
 */
public class TimeUtils {

    /**
     * 获取当前时间与第二天凌晨时间差，
     * @param
     * @return 秒
     */
    public static long getTimeToTomorow(){
        long nowunix = System.currentTimeMillis();//获取当前时间时间戳
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 24);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.MILLISECOND, 0);
        long secunix = cal.getTimeInMillis();//一天的时间
        long seconds = (secunix-nowunix)/1000;//剩余时间
        return seconds;
    }

    /**
     * 获取当前时间的后一天时间
     * @param cl
     * @return
     */
    public static Calendar getAfterDay(Calendar cl, int i){
        //使用roll方法进行回滚到后一天的时间
        //cl.roll(Calendar.DATE, 1);
        //使用set方法直接设置时间值
        int day = cl.get(Calendar.DATE);
        cl.set(Calendar.DATE, day+i);
        return cl;
    }

    /**
     * 获取当前时间的后一月时间
     * @param cl
     * @return
     */
    public static Calendar getAfterMonth(Calendar cl,int i){
        //使用roll方法进行回滚到后一天的时间
        //cl.roll(Calendar.DATE, 1);
        //使用set方法直接设置时间值
        int day = cl.get(Calendar.MONTH);
        cl.set(Calendar.MONTH, day+i);
        return cl;
    }

    /**
     * 获取当前时间的后一年时间
     * @param cl
     * @return
     */
    public static Calendar getAfterYear(Calendar cl,int i){
        //使用roll方法进行回滚到后一天的时间
        //cl.roll(Calendar.DATE, 1);
        //使用set方法直接设置时间值
        int day = cl.get(Calendar.YEAR);
        cl.set(Calendar.YEAR, day+i);
        return cl;
    }

    public static Calendar setCalendar(int year,int month,int date){
        Calendar cl = Calendar.getInstance();
        cl.set(year, month-1, date);
        return cl;
    }

    public static int compareDate(Date dt1, Date dt2){
        if (dt1.getTime() > dt2.getTime()) {
            return 1;
        } else if (dt1.getTime() < dt2.getTime()) {
            return -1;
        } else {//相等
            return 0;
        }
    }

    public static void main(String[] args) {

    }
}
